Generally, an ink jet printer prints an image on a page by ejecting droplets of ink from one or more vertical columns of nozzles on a print head. The droplets are ejected to form a matrix of dots as the print head passes horizontally across the page. For each dot which makes up the image, there is image data describing which nozzle is to print the dot during a particular pass and describing the horizontal position on the page at which to print the dot. Typically, prior to a pass of the print head across the page, the image data is temporarily stored in a memory location, sometimes referred to as a pass buffer. As the print head makes a pass, the image data is transferred from the pass buffer to the print head.
The amount of image data to be stored in a pass buffer depends on the print resolution (number of dots per inch), the page width, and the number of nozzles on the print head. As the number of nozzles on the print head increases, so does the demand for pass buffer space to store the image data. Since pass buffer capacity is limited by hardware design considerations, depending on the particular characteristics of the image to be printed, it may not be possible to store a full pass of image data in the pass buffer all at once.
One approach to handling the problem of limited pass buffer capacity or limited data available from the host is to load as much image data into the pass buffer as it will hold, or as much data as is available, which may be only a portion of a pass, and then print that portion of the pass using the entire print head height. When the print head has printed the portion of the pass, the print head pauses while the pass buffer is refilled with image data. This approach is problematic because it reduces print quality. To obtain the highest print quality using an ink jet printer, it is important not to stop the print head while printing a page. Pausing the print head within a pass causes mechanical difficulties because the print head must be repositioned precisely when the pass is completed after stopping. Pausing at either margin causes variations in ink drying time. Uneven drying times cause undesirable print defects. Further, pausing the print head is perceptually undesirable to the user.
Therefore, a system is needed for managing image data in the pass buffer of an ink jet printer to prevent pass buffer overflow and to prevent undesirable pauses while printing an image.